﻿//------------------------------------------------------------------------------
// ╭─────────────────────────────╮
// │ ╭─╮     ╭─╮              TM │   ╠═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╣
// │ │ │     │ │                 │                                           ☺  
// │ │ ╰───╮ │ │ ╭─────╮ ╭─────╮ │     Name:Wedn.Net 模版引擎助手类      ♮ ♪ ♩
// │ │ ╭─╮ │ │ │ │ ╭─╮ │ │ ╭─╮ │ │                                    ♫ ♭      
// │ │ ╰─╯ │ │ │ │ ╰─╯ │ │ ╰─╯ │ │     Author:iceStone               ♬ ♪       
// │ └─────╯ └─╯ ╰─────╯ ╰───╮ │ │     Chinese:汪磊                              
// │                     ┌───╯ │ │                                              
// │                     ╰─────╯ │   ╠═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╬═╣
// ╰─────────────────────────────╯                                              
//------------------------------------------------------------------------------
using System.IO;
using System.Web;
using System.Web.Mvc;
using Wedn.Net.Common;

namespace Wedn.Net.TEngine
{
    /// <summary>
    /// 模版引擎助手类
    /// </summary>
    public static class TemplateConfig
    {
        #region 注册视图引擎 +static void RegisterViewEngines()
        /// <summary>
        /// 注册视图引擎
        /// </summary>
        public static void RegisterViewEngines()
        {
            ViewEngines.Engines.Clear();
            ViewEngines.Engines.Add(new WednViewEngine());
            //ViewEngines.Engines.Add(new AdminRazorViewEngine());
        } 
        #endregion

        public static string CurrentThemePath
        {
            get
            {
                return HttpContext.Current.Server.MapPath(Config.ThemeRoot + Setting.Theme);
            }
        }
        public static string CurrentTemplatesPath
        {
            get
            {
                string[] viewDirs = { "Views", "Templates" };
                foreach (var item in viewDirs)
                {
                    string temp = Path.Combine(CurrentThemePath, item);
                    if (Directory.Exists(temp))
                    {
                        return temp;
                    }
                }
                return CurrentThemePath;
            }
        }

        #region 前台视图名称属性

        /// <summary>
        /// 首页视图名称
        /// </summary>
        public static string IndexViewName
        {
            get
            {
                //string[] views = { "Index", "Default", "Home" };
                //string templatePath = CurrentTemplatesPath;
                //foreach (var item in views)
                //{
                //    string temp = Path.Combine(templatePath, item);
                //    if (File.Exists(temp))
                //    {
                //        return temp;
                //    }
                //}
                return "Index";
            }
        }

        /// <summary>
        /// 列表页视图名称
        /// </summary>
        public static string ListViewName
        {
            get
            {
                return "List";
            }
        }

        /// <summary>
        /// 详细页视图名称
        /// </summary>
        public static string DetailViewName
        {
            get
            {
                return "Detail";
            }
        }

        /// <summary>
        /// 页面详细页视图名称
        /// </summary>
        public static string PageViewName
        {
            get
            {
                return "Page";
            }
        } 

        #endregion
    }
}
